Lock down kprobes
authorDavid Howells <dhowells@redhat.com>
Wed, 8 Nov 2017 16:14:12 +0000 (16:14 +0000)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 29 Apr 2018 16:09:14 +0000 (17:09 +0100)
Disallow the creation of kprobes when the kernel is locked down by
preventing their registration.  This prevents kprobes from being used to
access kernel memory, either to make modifications or to steal crypto data.

Reported-by: Alexei Starovoitov <alexei.starovoitov@gmail.com>
Signed-off-by: David Howells <dhowells@redhat.com>
Gbp-Pq: Topic features/all/lockdown
Gbp-Pq: Name 0026-Lock-down-kprobes.patch

kernel/kprobes.c

index 102160ff5c661e475e773888bfc3267d832bd4d6..4f5757732553dc87fda9434b1cf4af82b9593921 100644 (file)
@@ -1561,6 +1561,9 @@ int register_kprobe(struct kprobe *p)
        struct module *probed_mod;
        kprobe_opcode_t *addr;
 
+       if (kernel_is_locked_down("Use of kprobes"))
+               return -EPERM;
+
        /* Adjust probe address from symbol */
        addr = kprobe_addr(p);
        if (IS_ERR(addr))